
<!doctype html>
<html lang="zh" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      
        <meta name="description" content="脚本文档">
      
      
        <meta name="author" content="Logan">
      
      
        <link rel="canonical" href="http://localhost:8000/installation/docker/network-storage/">
      
      
        <link rel="prev" href="../services/">
      
      
        <link rel="next" href="../../docker-compose/">
      
      
      <link rel="icon" href="../../../image/favicon.ico">
      <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.50">
    
    
      
        <title>网络与存储 - 运维无忧文档</title>
      
    
    
      <link rel="stylesheet" href="../../../assets/stylesheets/main.a40c8224.min.css">
      
        
        <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
      
      


    
    
      
    
    
      
        
        
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
        <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
      
    
    
      <link rel="stylesheet" href="../../../css/extra.css">
    
      <link rel="stylesheet" href="../../../css/prism.css">
    
    <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
    
      

    
    
    
  </head>
  
  
    
    
      
    
    
    
    
    <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue">
  
    
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" for="__drawer"></label>
    <div data-md-component="skip">
      
        
        <a href="#docker" class="md-skip">
          跳转至
        </a>
      
    </div>
    <div data-md-component="announce">
      
    </div>
    
    
      

  

<header class="md-header md-header--shadow" data-md-component="header">
  <nav class="md-header__inner md-grid" aria-label="页眉">
    <a href="../../.." title="运维无忧文档" class="md-header__button md-logo" aria-label="运维无忧文档" data-md-component="logo">
      
  <img src="../../../image/logo.png" alt="logo">

    </a>
    <label class="md-header__button md-icon" for="__drawer">
      
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
    </label>
    <div class="md-header__title" data-md-component="header-title">
      <div class="md-header__ellipsis">
        <div class="md-header__topic">
          <span class="md-ellipsis">
            运维无忧文档
          </span>
        </div>
        <div class="md-header__topic" data-md-component="header-topic">
          <span class="md-ellipsis">
            
              网络与存储
            
          </span>
        </div>
      </div>
    </div>
    
      
        <form class="md-header__option" data-md-component="palette">
  
    
    
    
    <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue"  aria-label="Switch to dark mode"  type="radio" name="__palette" id="__palette_0">
    
      <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
      </label>
    
  
    
    
    
    <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="blue"  aria-label="Switch to light mode"  type="radio" name="__palette" id="__palette_1">
    
      <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
      </label>
    
  
</form>
      
    
    
      <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
    
    
    
      <label class="md-header__button md-icon" for="__search">
        
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
      </label>
      <div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
      <label class="md-search__icon md-icon" for="__search">
        
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
        
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
      </label>
      <nav class="md-search__options" aria-label="查找">
        
        <button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
          
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
        </button>
      </nav>
      
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
        <div class="md-search-result" data-md-component="search-result">
          <div class="md-search-result__meta">
            正在初始化搜索引擎
          </div>
          <ol class="md-search-result__list" role="presentation"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
    
    
      <div class="md-header__source">
        <a href="https://git.opsx.vip/docs/wuyou.run.git" title="前往仓库" class="md-source" data-md-component="source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
  </div>
  <div class="md-source__repository">
    wuyou.run
  </div>
</a>
      </div>
    
  </nav>
  
</header>
    
    <div class="md-container" data-md-component="container">
      
      
        
          
        
      
      <main class="md-main" data-md-component="main">
        <div class="md-main__inner md-grid">
          
            
              
              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    



<nav class="md-nav md-nav--primary" aria-label="导航栏" data-md-level="0">
  <label class="md-nav__title" for="__drawer">
    <a href="../../.." title="运维无忧文档" class="md-nav__button md-logo" aria-label="运维无忧文档" data-md-component="logo">
      
  <img src="../../../image/logo.png" alt="logo">

    </a>
    运维无忧文档
  </label>
  
    <div class="md-nav__source">
      <a href="https://git.opsx.vip/docs/wuyou.run.git" title="前往仓库" class="md-source" data-md-component="source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
  </div>
  <div class="md-source__repository">
    wuyou.run
  </div>
</a>
    </div>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
  
  
  
  
    <li class="md-nav__item">
      <a href="../../.." class="md-nav__link">
        
  
  <span class="md-ellipsis">
    首页
  </span>
  

      </a>
    </li>
  

    
      
      
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
        
          
          <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Linux基础设施
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2">
            <span class="md-nav__icon md-icon"></span>
            Linux基础设施
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" >
        
          
          <label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    基础环境配置
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2_1">
            <span class="md-nav__icon md-icon"></span>
            基础环境配置
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../system_init/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    系统初始化
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../dev_env/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    开发环境搭建
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
        
          
          <label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    常用服务部署
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2_2">
            <span class="md-nav__icon md-icon"></span>
            常用服务部署
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_1" >
        
          
          <label class="md-nav__link" for="__nav_2_2_1" id="__nav_2_2_1_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Web服务与代理
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_1_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2_2_1">
            <span class="md-nav__icon md-icon"></span>
            Web服务与代理
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../web_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Web服务
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../proxy_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    代理服务
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../services-loadbalancing/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    负载均衡服务
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../cache_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    缓存加速服务
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_2" >
        
          
          <label class="md-nav__link" for="__nav_2_2_2" id="__nav_2_2_2_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    数据存储
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_2_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2_2_2">
            <span class="md-nav__icon md-icon"></span>
            数据存储
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../database_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    数据库服务
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../storage_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    文件存储服务
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_3" >
        
          
          <label class="md-nav__link" for="__nav_2_2_3" id="__nav_2_2_3_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    监控与日志
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_2_3_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2_2_3">
            <span class="md-nav__icon md-icon"></span>
            监控与日志
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../monitoring_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    监控系统
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../logging_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    日志管理
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../message_queue_services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    消息队列
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" >
        
          
          <label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    系统运维
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_2_3">
            <span class="md-nav__icon md-icon"></span>
            系统运维
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../storage/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    存储与备份
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../lvm/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    LVM存储管理
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../network/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    网络服务配置
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../monitor/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    监控与日志
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

    
      
      
  
  
    
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
        
          
          <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    容器与编排
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
          <label class="md-nav__title" for="__nav_3">
            <span class="md-nav__icon md-icon"></span>
            容器与编排
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
    
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1" checked>
        
          
          <label class="md-nav__link" for="__nav_3_1" id="__nav_3_1_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Docker
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_1_label" aria-expanded="true">
          <label class="md-nav__title" for="__nav_3_1">
            <span class="md-nav__icon md-icon"></span>
            Docker
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    基础安装
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../build/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    镜像构建
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../services/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    常用服务部署
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
    
  
  
  
    <li class="md-nav__item md-nav__item--active">
      
      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
      
      
        
      
      
        <label class="md-nav__link md-nav__link--active" for="__toc">
          
  
  <span class="md-ellipsis">
    网络与存储
  </span>
  

          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <a href="./" class="md-nav__link md-nav__link--active">
        
  
  <span class="md-ellipsis">
    网络与存储
  </span>
  

      </a>
      
        

<nav class="md-nav md-nav--secondary" aria-label="目录">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      目录
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#docker_1" class="md-nav__link">
    <span class="md-ellipsis">
      Docker网络
    </span>
  </a>
  
    <nav class="md-nav" aria-label="Docker网络">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_1" class="md-nav__link">
    <span class="md-ellipsis">
      网络模式概述
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_2" class="md-nav__link">
    <span class="md-ellipsis">
      基本网络命令
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#bridge" class="md-nav__link">
    <span class="md-ellipsis">
      Bridge网络详解
    </span>
  </a>
  
    <nav class="md-nav" aria-label="Bridge网络详解">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#bridge_1" class="md-nav__link">
    <span class="md-ellipsis">
      默认bridge网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#bridge_2" class="md-nav__link">
    <span class="md-ellipsis">
      自定义bridge网络
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#host" class="md-nav__link">
    <span class="md-ellipsis">
      Host网络模式
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_3" class="md-nav__link">
    <span class="md-ellipsis">
      容器间网络共享
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#overlay" class="md-nav__link">
    <span class="md-ellipsis">
      Overlay网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#macvlan" class="md-nav__link">
    <span class="md-ellipsis">
      Macvlan网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_4" class="md-nav__link">
    <span class="md-ellipsis">
      网络故障排查
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#docker_2" class="md-nav__link">
    <span class="md-ellipsis">
      Docker存储
    </span>
  </a>
  
    <nav class="md-nav" aria-label="Docker存储">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_5" class="md-nav__link">
    <span class="md-ellipsis">
      存储驱动概述
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#volumes" class="md-nav__link">
    <span class="md-ellipsis">
      数据卷(Volumes)
    </span>
  </a>
  
    <nav class="md-nav" aria-label="数据卷(Volumes)">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_6" class="md-nav__link">
    <span class="md-ellipsis">
      基本数据卷操作
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_7" class="md-nav__link">
    <span class="md-ellipsis">
      使用数据卷
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_8" class="md-nav__link">
    <span class="md-ellipsis">
      数据卷备份与恢复
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#bind-mounts" class="md-nav__link">
    <span class="md-ellipsis">
      绑定挂载(Bind Mounts)
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#tmpfs" class="md-nav__link">
    <span class="md-ellipsis">
      tmpfs挂载
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_9" class="md-nav__link">
    <span class="md-ellipsis">
      卷驱动插件
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_10" class="md-nav__link">
    <span class="md-ellipsis">
      存储最佳实践
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#_11" class="md-nav__link">
    <span class="md-ellipsis">
      高级网络与存储配置
    </span>
  </a>
  
    <nav class="md-nav" aria-label="高级网络与存储配置">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_12" class="md-nav__link">
    <span class="md-ellipsis">
      自定义网络配置
    </span>
  </a>
  
    <nav class="md-nav" aria-label="自定义网络配置">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_13" class="md-nav__link">
    <span class="md-ellipsis">
      创建具有特定配置的网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_14" class="md-nav__link">
    <span class="md-ellipsis">
      配置容器网络接口
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_15" class="md-nav__link">
    <span class="md-ellipsis">
      高级存储配置
    </span>
  </a>
  
    <nav class="md-nav" aria-label="高级存储配置">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_16" class="md-nav__link">
    <span class="md-ellipsis">
      配置数据卷选项
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_17" class="md-nav__link">
    <span class="md-ellipsis">
      使用卷配置容器
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_18" class="md-nav__link">
    <span class="md-ellipsis">
      网络与存储集成案例
    </span>
  </a>
  
    <nav class="md-nav" aria-label="网络与存储集成案例">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_19" class="md-nav__link">
    <span class="md-ellipsis">
      多容器应用部署
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_20" class="md-nav__link">
    <span class="md-ellipsis">
      数据持久化与备份策略
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_21" class="md-nav__link">
    <span class="md-ellipsis">
      网络监控与故障排查工具
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
    </ul>
  
</nav>
      
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../docker-compose/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Docker Compose
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
        
          
          <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Kubernetes
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_3_3">
            <span class="md-nav__icon md-icon"></span>
            Kubernetes
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../kubernetes/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    集群部署
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../kubernetes/resources/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    资源管理
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../kubernetes/operations/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    运维操作
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../kubernetes/best-practices/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    最佳实践
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

    
      
      
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
        
          
          <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    DevOps工具链
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_4">
            <span class="md-nav__icon md-icon"></span>
            DevOps工具链
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../cicd/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    CI/CD流水线
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../devops/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    自动化运维
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

    
      
      
  
  
  
  
    
    
    
    
    <li class="md-nav__item md-nav__item--nested">
      
        
        
        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
        
          
          <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
            
  
  <span class="md-ellipsis">
    Shell 快速入门
  </span>
  

            <span class="md-nav__icon md-icon"></span>
          </label>
        
        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
          <label class="md-nav__title" for="__nav_5">
            <span class="md-nav__icon md-icon"></span>
            Shell 快速入门
          </label>
          <ul class="md-nav__list" data-md-scrollfix>
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/introduction/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Linux 基础命令
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/commands/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    常用命令集
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/variables_and_data_types/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    变量和数据类型
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/control_flow/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    控制流程 (if、else、for、while)
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/functions/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Shell函数
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/text_processing/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    文本处理三剑客
  </span>
  

      </a>
    </li>
  

              
            
              
                
  
  
  
  
    <li class="md-nav__item">
      <a href="../../../shell/scripts/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Shell脚本实战
  </span>
  

      </a>
    </li>
  

              
            
          </ul>
        </nav>
      
    </li>
  

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              
              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    

<nav class="md-nav md-nav--secondary" aria-label="目录">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      目录
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#docker_1" class="md-nav__link">
    <span class="md-ellipsis">
      Docker网络
    </span>
  </a>
  
    <nav class="md-nav" aria-label="Docker网络">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_1" class="md-nav__link">
    <span class="md-ellipsis">
      网络模式概述
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_2" class="md-nav__link">
    <span class="md-ellipsis">
      基本网络命令
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#bridge" class="md-nav__link">
    <span class="md-ellipsis">
      Bridge网络详解
    </span>
  </a>
  
    <nav class="md-nav" aria-label="Bridge网络详解">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#bridge_1" class="md-nav__link">
    <span class="md-ellipsis">
      默认bridge网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#bridge_2" class="md-nav__link">
    <span class="md-ellipsis">
      自定义bridge网络
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#host" class="md-nav__link">
    <span class="md-ellipsis">
      Host网络模式
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_3" class="md-nav__link">
    <span class="md-ellipsis">
      容器间网络共享
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#overlay" class="md-nav__link">
    <span class="md-ellipsis">
      Overlay网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#macvlan" class="md-nav__link">
    <span class="md-ellipsis">
      Macvlan网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_4" class="md-nav__link">
    <span class="md-ellipsis">
      网络故障排查
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#docker_2" class="md-nav__link">
    <span class="md-ellipsis">
      Docker存储
    </span>
  </a>
  
    <nav class="md-nav" aria-label="Docker存储">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_5" class="md-nav__link">
    <span class="md-ellipsis">
      存储驱动概述
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#volumes" class="md-nav__link">
    <span class="md-ellipsis">
      数据卷(Volumes)
    </span>
  </a>
  
    <nav class="md-nav" aria-label="数据卷(Volumes)">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_6" class="md-nav__link">
    <span class="md-ellipsis">
      基本数据卷操作
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_7" class="md-nav__link">
    <span class="md-ellipsis">
      使用数据卷
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_8" class="md-nav__link">
    <span class="md-ellipsis">
      数据卷备份与恢复
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#bind-mounts" class="md-nav__link">
    <span class="md-ellipsis">
      绑定挂载(Bind Mounts)
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#tmpfs" class="md-nav__link">
    <span class="md-ellipsis">
      tmpfs挂载
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_9" class="md-nav__link">
    <span class="md-ellipsis">
      卷驱动插件
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_10" class="md-nav__link">
    <span class="md-ellipsis">
      存储最佳实践
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
        <li class="md-nav__item">
  <a href="#_11" class="md-nav__link">
    <span class="md-ellipsis">
      高级网络与存储配置
    </span>
  </a>
  
    <nav class="md-nav" aria-label="高级网络与存储配置">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_12" class="md-nav__link">
    <span class="md-ellipsis">
      自定义网络配置
    </span>
  </a>
  
    <nav class="md-nav" aria-label="自定义网络配置">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_13" class="md-nav__link">
    <span class="md-ellipsis">
      创建具有特定配置的网络
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_14" class="md-nav__link">
    <span class="md-ellipsis">
      配置容器网络接口
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_15" class="md-nav__link">
    <span class="md-ellipsis">
      高级存储配置
    </span>
  </a>
  
    <nav class="md-nav" aria-label="高级存储配置">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_16" class="md-nav__link">
    <span class="md-ellipsis">
      配置数据卷选项
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_17" class="md-nav__link">
    <span class="md-ellipsis">
      使用卷配置容器
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_18" class="md-nav__link">
    <span class="md-ellipsis">
      网络与存储集成案例
    </span>
  </a>
  
    <nav class="md-nav" aria-label="网络与存储集成案例">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#_19" class="md-nav__link">
    <span class="md-ellipsis">
      多容器应用部署
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_20" class="md-nav__link">
    <span class="md-ellipsis">
      数据持久化与备份策略
    </span>
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#_21" class="md-nav__link">
    <span class="md-ellipsis">
      网络监控与故障排查工具
    </span>
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          
            <div class="md-content" data-md-component="content">
              <article class="md-content__inner md-typeset">
                
                  

  
  


<h1 id="docker">Docker网络与存储管理</h1>
<h2 id="docker_1">Docker网络</h2>
<h3 id="_1">网络模式概述</h3>
<p>Docker提供了多种网络模式，用于满足不同的容器通信需求：</p>
<table>
<thead>
<tr>
<th>网络模式</th>
<th>描述</th>
<th>使用场景</th>
</tr>
</thead>
<tbody>
<tr>
<td>bridge</td>
<td>默认网络模式，创建独立的网络命名空间</td>
<td>独立容器需要通信</td>
</tr>
<tr>
<td>host</td>
<td>与主机共享网络命名空间</td>
<td>需要最佳网络性能</td>
</tr>
<tr>
<td>none</td>
<td>没有网络连接</td>
<td>完全隔离的容器</td>
</tr>
<tr>
<td>container</td>
<td>与指定容器共享网络命名空间</td>
<td>多个容器需要共享网络</td>
</tr>
<tr>
<td>overlay</td>
<td>跨主机容器网络</td>
<td>Docker Swarm集群</td>
</tr>
<tr>
<td>macvlan</td>
<td>为容器分配MAC地址</td>
<td>容器需要直接连接物理网络</td>
</tr>
<tr>
<td>ipvlan</td>
<td>共享MAC地址但有独立IP</td>
<td>需要大量IP地址但MAC地址有限</td>
</tr>
</tbody>
</table>
<h3 id="_2">基本网络命令</h3>
<pre><code class="language-bash"># 列出所有网络
docker network ls

# 创建自定义网络
docker network create --driver bridge my-network

# 创建具有特定子网的网络
docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 my-network

# 查看网络详情
docker network inspect my-network

# 将容器连接到网络
docker network connect my-network container-name

# 断开容器与网络的连接
docker network disconnect my-network container-name

# 删除网络
docker network rm my-network

# 清理未使用的网络
docker network prune
</code></pre>
<h3 id="bridge">Bridge网络详解</h3>
<p>Bridge是Docker默认的网络模式，创建了独立的网络命名空间，容器可以通过虚拟以太网对(veth pair)与主机通信。</p>
<h4 id="bridge_1">默认bridge网络</h4>
<pre><code class="language-bash"># 在默认bridge网络中启动容器
docker run -d --name container1 nginx:alpine

# 查看默认bridge网络
docker network inspect bridge
</code></pre>
<p>默认bridge网络的特点：
- 容器可以通过IP地址相互通信
- 容器名称无法自动解析为IP地址
- 需要通过端口映射访问容器服务</p>
<h4 id="bridge_2">自定义bridge网络</h4>
<pre><code class="language-bash"># 创建自定义bridge网络
docker network create my-bridge

# 在自定义网络中启动容器
docker run -d --name container2 --network my-bridge nginx:alpine
docker run -d --name container3 --network my-bridge nginx:alpine

# 测试容器间通信
docker exec container2 ping container3
</code></pre>
<p>自定义bridge网络的优势：
- 自动DNS解析：容器可以通过容器名称相互访问
- 更好的隔离性：不同bridge网络之间相互隔离
- 可以动态连接或断开容器</p>
<h3 id="host">Host网络模式</h3>
<p>Host网络模式让容器共享主机的网络命名空间，直接使用主机的网络接口。</p>
<pre><code class="language-bash"># 使用host网络模式启动容器
docker run -d --name host-container --network host nginx:alpine

# 查看容器网络配置
docker exec host-container ip addr show
</code></pre>
<p>Host网络模式的特点：
- 最佳网络性能，没有网络隔离开销
- 容器直接使用主机端口，无需端口映射
- 可能导致端口冲突
- 降低了容器的网络隔离性</p>
<h3 id="_3">容器间网络共享</h3>
<p>Container网络模式允许容器共享另一个容器的网络命名空间。</p>
<pre><code class="language-bash"># 先创建一个容器
docker run -d --name container1 nginx:alpine

# 创建共享container1网络的容器
docker run -d --name container2 --network container:container1 alpine sleep infinity

# 验证共享网络
docker exec container2 wget -O- http://localhost
</code></pre>
<p>Container网络模式的应用场景：
- Sidecar模式：辅助容器与主容器共享网络
- 容器监控：监控容器可以直接访问被监控容器的网络接口
- 多进程容器设计：不同容器进程需要共享网络</p>
<h3 id="overlay">Overlay网络</h3>
<p>Overlay网络用于Docker Swarm集群中跨主机的容器通信。</p>
<pre><code class="language-bash"># 初始化Swarm集群
docker swarm init

# 创建overlay网络
docker network create --driver overlay --attachable my-overlay

# 在overlay网络中创建服务
docker service create --name my-service --network my-overlay nginx:alpine
</code></pre>
<p>Overlay网络的特点：
- 支持跨主机的容器通信
- 使用VXLAN技术封装数据包
- 可以与Docker Swarm服务集成
- 支持加密通信</p>
<h3 id="macvlan">Macvlan网络</h3>
<p>Macvlan允许为容器分配MAC地址，使其在物理网络上显示为独立设备。</p>
<pre><code class="language-bash"># 创建macvlan网络
docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 my-macvlan

# 使用macvlan网络启动容器
docker run -d --name macvlan-container --network my-macvlan --ip=192.168.1.10 nginx:alpine
</code></pre>
<p>Macvlan网络的应用场景：
- 容器需要在物理网络上拥有独立IP
- 需要直接连接到现有VLAN
- 网络性能要求高的应用</p>
<h3 id="_4">网络故障排查</h3>
<p>常见网络问题及解决方法：</p>
<ol>
<li><strong>容器无法连接外网</strong>
   ```bash
   # 检查DNS配置
   docker exec container cat /etc/resolv.conf</li>
</ol>
<p># 检查网络接口
   docker exec container ip addr show</p>
<p># 检查路由表
   docker exec container ip route</p>
<p># 测试网络连通性
   docker exec container ping 8.8.8.8
   ```</p>
<ol>
<li><strong>容器间无法通信</strong>
   ```bash
   # 检查容器是否在同一网络
   docker network inspect network-name</li>
</ol>
<p># 检查容器IP地址
   docker inspect -f '{{.NetworkSettings.Networks.bridge.IPAddress}}' container-name</p>
<p># 测试容器间连通性
   docker exec container1 ping container2
   ```</p>
<ol>
<li><strong>端口映射不工作</strong>
   ```bash
   # 检查端口映射配置
   docker port container-name</li>
</ol>
<p># 检查主机端口是否被占用
   netstat -tuln | grep port-number</p>
<p># 检查容器内服务是否正常运行
   docker exec container-name netstat -tuln
   ```</p>
<h2 id="docker_2">Docker存储</h2>
<h3 id="_5">存储驱动概述</h3>
<p>Docker使用存储驱动管理镜像层和容器层的数据。常见的存储驱动包括：</p>
<table>
<thead>
<tr>
<th>存储驱动</th>
<th>描述</th>
<th>适用场景</th>
</tr>
</thead>
<tbody>
<tr>
<td>overlay2</td>
<td>最新推荐的存储驱动</td>
<td>大多数Linux发行版</td>
</tr>
<tr>
<td>devicemapper</td>
<td>基于设备映射技术</td>
<td>CentOS/RHEL 7</td>
</tr>
<tr>
<td>aufs</td>
<td>最早的存储驱动之一</td>
<td>Ubuntu 14.04</td>
</tr>
<tr>
<td>btrfs</td>
<td>基于Btrfs文件系统</td>
<td>使用Btrfs的系统</td>
</tr>
<tr>
<td>zfs</td>
<td>基于ZFS文件系统</td>
<td>使用ZFS的系统</td>
</tr>
<tr>
<td>vfs</td>
<td>简单但性能较低</td>
<td>测试环境</td>
</tr>
</tbody>
</table>
<pre><code class="language-bash"># 查看当前存储驱动
docker info | grep &quot;Storage Driver&quot;
</code></pre>
<h3 id="volumes">数据卷(Volumes)</h3>
<p>数据卷是Docker管理的持久化数据存储，独立于容器生命周期。</p>
<h4 id="_6">基本数据卷操作</h4>
<pre><code class="language-bash"># 创建数据卷
docker volume create my-volume

# 列出所有数据卷
docker volume ls

# 查看数据卷详情
docker volume inspect my-volume

# 删除数据卷
docker volume rm my-volume

# 清理未使用的数据卷
docker volume prune
</code></pre>
<h4 id="_7">使用数据卷</h4>
<pre><code class="language-bash"># 创建使用数据卷的容器
docker run -d --name nginx-app -v my-volume:/usr/share/nginx/html nginx:alpine

# 使用只读数据卷
docker run -d --name readonly-app -v my-volume:/data:ro alpine sleep infinity

# 在多个容器间共享数据卷
docker run -d --name another-app -v my-volume:/app-data alpine sleep infinity
</code></pre>
<h4 id="_8">数据卷备份与恢复</h4>
<pre><code class="language-bash"># 备份数据卷
docker run --rm -v my-volume:/source -v $(pwd):/backup alpine tar -czf /backup/my-volume-backup.tar.gz -C /source .

# 恢复数据卷
docker run --rm -v my-volume:/target -v $(pwd):/backup alpine sh -c &quot;tar -xzf /backup/my-volume-backup.tar.gz -C /target&quot;
</code></pre>
<h3 id="bind-mounts">绑定挂载(Bind Mounts)</h3>
<p>绑定挂载将主机文件系统的路径直接挂载到容器中。</p>
<pre><code class="language-bash"># 使用绑定挂载启动容器
docker run -d --name web-server -v /host/path:/container/path nginx:alpine

# 使用只读绑定挂载
docker run -d --name readonly-container -v /host/config:/etc/config:ro alpine sleep infinity

# 使用相对路径(当前目录)
docker run -d --name local-app -v $(pwd):/app node:alpine
</code></pre>
<p>绑定挂载的应用场景：
- 开发环境：将源代码挂载到容器中实现实时更新
- 配置文件：将主机配置文件挂载到容器
- 日志收集：将容器日志输出到主机目录</p>
<h3 id="tmpfs">tmpfs挂载</h3>
<p>tmpfs挂载在容器内存中创建临时文件系统，容器停止后数据会被清除。</p>
<pre><code class="language-bash"># 创建tmpfs挂载
docker run -d --name tmpfs-container --tmpfs /app/temp:rw,size=100M,mode=1777 alpine sleep infinity

# 查看tmpfs挂载
docker inspect -f '{{.HostConfig.Tmpfs}}' tmpfs-container
</code></pre>
<p>tmpfs挂载的应用场景：
- 存储非持久化敏感数据
- 提高I/O性能
- 减少容器写入层的数据量</p>
<h3 id="_9">卷驱动插件</h3>
<p>Docker支持第三方卷驱动插件，用于扩展存储功能。</p>
<pre><code class="language-bash"># 安装卷驱动插件
docker plugin install rexray/ebs

# 使用插件创建卷
docker volume create -d rexray/ebs --name aws-volume

# 使用插件卷启动容器
docker run -d --name ebs-container -v aws-volume:/data alpine sleep infinity
</code></pre>
<p>常见卷驱动插件：
- REX-Ray：支持多种云存储服务
- Convoy：支持设备映射和NFS
- Flocker：分布式存储编排
- NetApp：企业级存储解决方案</p>
<h3 id="_10">存储最佳实践</h3>
<ol>
<li><strong>使用数据卷而非绑定挂载</strong></li>
<li>数据卷由Docker管理，更易于备份和迁移</li>
<li>数据卷在多个Docker环境中更一致</li>
<li>
<p>数据卷性能通常更好</p>
</li>
<li>
<p><strong>合理使用存储驱动</strong></p>
</li>
<li>对于大多数场景，使用默认的overlay2驱动</li>
<li>针对特定工作负载选择合适的存储驱动</li>
<li>
<p>避免频繁写入容器层</p>
</li>
<li>
<p><strong>容器数据分离</strong></p>
</li>
<li>将应用代码与数据分离</li>
<li>使用数据卷存储持久化数据</li>
<li>
<p>使用只读挂载提高安全性</p>
</li>
<li>
<p><strong>定期备份重要数据</strong></p>
</li>
<li>实现数据卷自动备份机制</li>
<li>测试备份恢复流程</li>
<li>
<p>考虑使用云存储备份关键数据</p>
</li>
<li>
<p><strong>监控存储使用情况</strong>
   ```bash
   # 查看容器磁盘使用情况
   docker system df</p>
</li>
</ol>
<p># 查看详细的空间使用情况
   docker system df -v</p>
<p># 清理未使用的对象
   docker system prune -a
   ```</p>
<h2 id="_11">高级网络与存储配置</h2>
<h3 id="_12">自定义网络配置</h3>
<h4 id="_13">创建具有特定配置的网络</h4>
<pre><code class="language-bash"># 创建具有自定义MTU的网络
docker network create --driver bridge --opt com.docker.network.driver.mtu=1400 low-mtu-network

# 创建具有内部子网的网络
docker network create --driver bridge --subnet=10.10.0.0/16 --gateway=10.10.0.1 large-network

# 创建带有IPv6支持的网络
docker network create --driver bridge --ipv6 --subnet=2001:db8::/64 ipv6-network
</code></pre>
<h4 id="_14">配置容器网络接口</h4>
<pre><code class="language-bash"># 指定容器IP地址
docker run -d --name fixed-ip --network my-network --ip 172.18.0.10 nginx:alpine

# 配置容器主机名和DNS
docker run -d --name custom-dns --hostname mycontainer --dns 8.8.8.8 --dns-search example.com alpine sleep infinity

# 添加额外的主机记录
docker run -d --name custom-hosts --add-host db:192.168.1.10 --add-host cache:192.168.1.11 alpine sleep infinity
</code></pre>
<h3 id="_15">高级存储配置</h3>
<h4 id="_16">配置数据卷选项</h4>
<pre><code class="language-bash"># 创建带标签的数据卷
docker volume create --label project=webapp --label environment=production webapp-data

# 创建使用特定驱动选项的数据卷
docker volume create --driver local --opt type=nfs --opt o=addr=192.168.1.1,rw --opt device=:/path/to/dir nfs-volume
</code></pre>
<h4 id="_17">使用卷配置容器</h4>
<pre><code class="language-bash"># 配置SELinux标签
docker run -d --name selinux-container -v my-volume:/data:z alpine sleep infinity

# 配置传播模式(propagation)
docker run -d --name shared-mount -v /host/path:/container/path:shared alpine sleep infinity

# 使用委托(delegated)模式提高性能(macOS)
docker run -d --name mac-optimized -v /host/path:/container/path:delegated node:alpine
</code></pre>
<h3 id="_18">网络与存储集成案例</h3>
<h4 id="_19">多容器应用部署</h4>
<pre><code class="language-yaml"># docker-compose.yml
version: '3'

services:
  web:
    image: nginx:alpine
    ports:
      - &quot;80:80&quot;
    volumes:
      - web-content:/usr/share/nginx/html
    networks:
      - frontend
      - backend
    depends_on:
      - app

  app:
    image: node:alpine
    volumes:
      - app-code:/app
      - app-logs:/app/logs
    networks:
      - backend
      - db-network
    depends_on:
      - db

  db:
    image: postgres:13-alpine
    volumes:
      - db-data:/var/lib/postgresql/data
      - db-backup:/backup
    networks:
      - db-network
    environment:
      POSTGRES_PASSWORD: example

networks:
  frontend:
  backend:
  db-network:
    internal: true

volumes:
  web-content:
  app-code:
  app-logs:
  db-data:
  db-backup:
</code></pre>
<h4 id="_20">数据持久化与备份策略</h4>
<pre><code class="language-bash">#!/bin/bash
# @author Loganli
# [Docker存储] 数据卷自动备份脚本

# 设置备份目录
BACKUP_DIR=&quot;/opt/docker-backups&quot;
DATE=$(date +%Y%m%d-%H%M%S)
mkdir -p $BACKUP_DIR

# 获取所有数据卷
VOLUMES=$(docker volume ls --format &quot;{{.Name}}&quot; | grep -v &quot;^tmp&quot;)

# 备份每个数据卷
for VOLUME in $VOLUMES; do
  echo &quot;备份数据卷: $VOLUME&quot;
  docker run --rm -v $VOLUME:/source:ro -v $BACKUP_DIR:/backup alpine sh -c &quot;tar -czf /backup/$VOLUME-$DATE.tar.gz -C /source .&quot;
done

# 清理旧备份(保留7天)
find $BACKUP_DIR -name &quot;*.tar.gz&quot; -type f -mtime +7 -delete

echo &quot;备份完成，文件保存在 $BACKUP_DIR&quot;
</code></pre>
<h4 id="_21">网络监控与故障排查工具</h4>
<pre><code class="language-bash">#!/bin/bash
# @author Loganli
# [Docker网络] 容器网络诊断工具

# 检查容器网络
check_container_network() {
  CONTAINER=$1
  echo &quot;===== 容器 $CONTAINER 网络诊断 =====&quot;

  # 检查网络配置
  echo &quot;IP配置:&quot;
  docker exec $CONTAINER ip addr

  echo &quot;路由表:&quot;
  docker exec $CONTAINER ip route

  echo &quot;DNS配置:&quot;
  docker exec $CONTAINER cat /etc/resolv.conf

  # 测试网络连通性
  echo &quot;网络连通性测试:&quot;
  docker exec $CONTAINER ping -c 3 8.8.8.8 || echo &quot;无法连接外网&quot;

  # 检查端口监听
  echo &quot;端口监听:&quot;
  docker exec $CONTAINER netstat -tuln 2&gt;/dev/null || docker exec $CONTAINER ss -tuln 2&gt;/dev/null || echo &quot;未安装网络工具&quot;
}

# 检查网络
check_network() {
  echo &quot;===== Docker网络列表 =====&quot;
  docker network ls

  echo &quot;===== 默认网桥详情 =====&quot;
  docker network inspect bridge
}

# 主函数
if [ &quot;$1&quot; == &quot;&quot; ]; then
  echo &quot;用法: $0 [容器名称|all|network]&quot;
  exit 1
elif [ &quot;$1&quot; == &quot;all&quot; ]; then
  CONTAINERS=$(docker ps --format &quot;{{.Names}}&quot;)
  for CONTAINER in $CONTAINERS; do
    check_container_network $CONTAINER
  done
elif [ &quot;$1&quot; == &quot;network&quot; ]; then
  check_network
else
  check_container_network $1
fi
</code></pre>
<p>通过掌握Docker的网络和存储管理，您可以构建更加灵活、可靠的容器化应用，并确保数据的持久性和安全性。</p>












                
              </article>
            </div>
          
          
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
        </div>
        
      </main>
      
        <footer class="md-footer">
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-copyright">
  
  
    Made with
    <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
      Material for MkDocs
    </a>
  
</div>
      
        <div class="md-social">
  
    
    
    
    
      
      
    
    <a href="https://git.opsx.vip/docs/PythonFullStackGuide.git" target="_blank" rel="noopener" title="git.opsx.vip" class="md-social__link">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
    </a>
  
    
    
    
    
    <a href="mailto:admin@attacker.club" target="_blank" rel="noopener" title="" class="md-social__link">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4l217.6 163.2c11.4 8.5 27 8.5 38.4 0l217.6-163.2c12.1-9.1 19.2-23.3 19.2-38.4 0-26.5-21.5-48-48-48zM0 176v208c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V176L294.4 339.2a63.9 63.9 0 0 1-76.8 0z"/></svg>
    </a>
  
</div>
      
    </div>
  </div>
</footer>
      
    </div>
    <div class="md-dialog" data-md-component="dialog">
      <div class="md-dialog__inner md-typeset"></div>
    </div>
    
    
    <script id="__config" type="application/json">{"base": "../../..", "features": [], "search": "../../../assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}}</script>
    
    
      <script src="../../../assets/javascripts/bundle.60a45f97.min.js"></script>
      
        <script src="../../../js/prism.js"></script>
      
    
  </body>
</html>